home *** CD-ROM | disk | FTP | other *** search
/ CICA 1995 August / CICA - The Ultimate Collection of Shareware for Windows (Disc 2) (August 1995).iso / disc2 / demo / pwrtcp11.exe / POWERFTP.HP_ / POWERFTP.bin
Text File  |  1994-11-11  |  3KB  |  84 lines

  1. //
  2. // CPowerFTP
  3. // Defines the functions required to provide FTP protocol processing
  4. //
  5.  
  6. class CFtpControl;
  7. class CFtpListen;
  8. class CFtpData;
  9.  
  10. class CPowerFtp
  11. {
  12. friend CFtpControl;
  13. friend CFtpListen;
  14. friend CFtpData;
  15. private:
  16.     // references to Control, Listener, and Data are used so that FTP.HPP
  17.     // does not have to be distributed
  18.     CFtpControl &Control;
  19. protected:
  20.     // protected functions must be overridden by derived classes...
  21.     // informs us of a successful connection and login
  22.     virtual void ConnectEvent (LPCSTR RemoteDotAddr, 
  23.         WORD RemotePort, LPCSTR LocalDotAddr, WORD LocalPort, 
  24.         LPCSTR LocalName);
  25.     // informs us that an exception
  26.     virtual void LogEvent (LPCSTR Message)=0;
  27.     // informs us that file or list data has been received
  28.     virtual void RecvEvent (LPVOID Data, size_t ByteCnt)=0;
  29.     // informs us that FTP has a reply
  30.     virtual void ReplyEvent (FTP_STATUS Status, FTP_COMMAND LastCommand, int Code, LPCSTR ReplyStr)=0;
  31.     // informs us that previously submitted data has been sent
  32.     virtual void SendEvent (DWORD Tag)=0;
  33.  
  34.     CPowerFtp (HINSTANCE);
  35.     ~CPowerFtp (void);
  36.     int operator = (CPowerFtp &);
  37. public:
  38.     BOOL LoginHost (LPCSTR OemLicense, PT_FLAGS Flags, LPCSTR RemoteHost, 
  39.         LPCSTR LocalDotAddr, LPCSTR User, LPCSTR Password, LPCSTR Account);
  40.     BOOL Close (void);
  41.     BOOL CloseData (void);
  42.     FTP_COMMAND LastCommand(void);
  43.     
  44.     // Send Data over data connection
  45.     BOOL Send (LPVOID Data, size_t ByteCnt);
  46.     
  47.     // Send User-built Command over control connection
  48.     BOOL Command (LPSTR CommandStr);
  49.     
  50.     // ACCESS Control Commands
  51.     BOOL ChDir (LPSTR NewDir);
  52.     BOOL ChDirUp (void);
  53.     BOOL StructMount (LPSTR PathName);
  54.     BOOL Reinitialize (void);
  55.     BOOL Logout (void);
  56.     
  57.     // TRANSFER Parameter Commands
  58.     BOOL Type (LPSTR Type);
  59.     BOOL Port (LPSTR HostPort);
  60.     BOOL Passive (void);
  61.     BOOL FileStruct (FTP_FILE_STRUCT Structure);
  62.     BOOL Mode (FTP_TRANSFER_MODE Mode);
  63.     
  64.     // FILE Service Commands
  65.     BOOL Retrieve (LPSTR PathName);
  66.     BOOL Store (LPSTR PathName);
  67.     BOOL StoreUnique (LPSTR PathName);
  68.     BOOL Appe (LPSTR PathName);
  69.     BOOL Allocate (LONG MaxFileSize, LONG MaxRecordSize);
  70.     BOOL Restart (LPSTR Marker);
  71.     BOOL Rename (LPSTR FromPathName, LPSTR ToPathName);
  72.     BOOL Abort (void);
  73.     BOOL Delete (LPSTR PathName);
  74.     BOOL RemoveDir (LPSTR Dir);
  75.     BOOL MakeDir (LPSTR Dir);
  76.     BOOL PrintWorkingDir (void);
  77.     BOOL List (LPSTR Dir);
  78.     BOOL NameList (LPSTR Dir);
  79.     BOOL Site (LPSTR Desc);
  80.     BOOL System (void);
  81.     BOOL Status (LPSTR PathName);
  82.     BOOL Help (LPSTR Topic);
  83.     BOOL Noop (void);
  84. };